The present invention relates to distributed computing environments, and more particularly to developing and deploying software code in a distributed computing environment.
In a typical application development environment, a software architect creates software applications, e.g., using conventional development tools. However, the development environment from which a new application is developed is often different from an operations environment, e.g., a data center, which deploys the developed application. In this regard, architects within the operations environment are typically burdened with the responsibility of carrying the developed application into operations.
Development and deployment of a software solution often requires operation on existing resources (file, database, repository, device, etc.) to provide linkages to new resources. As an example, the modeling, configuration or execution of a deployment environment often requires the introspection of the existing environment(s) to find the states of the deployed resources and the links to the resources to be created. For instance, while defining a deployment model one may want to know the list of Java 2 Enterprise Edition (J2EE) application(s) or J2EE datasource(s) (from Sun Microsystems, Inc. of Mountain View Calif.) installed on a Websphere Application Server (from International Business Machines of Armonk, N.Y.). Likewise, a need may arise to find the existing database connections that are created in a development workspace such that the new database resource(s) can be created as needed. This scope of the search may need to be expanded to one or more types or even instances of the existing resources.
However, information regarding existing resources in which the software solution may be deployed may not be readily available. This may be because the deployment environment (e.g., a data center) may be provided by a third party separate from the person/organization developing the software. Additionally, configuration information necessary to deploy the developed application in the target operations environment is typically maintained in the form of non-integrated information, such as notes, word processing documents, spreadsheets, and other formats that lack a formal construct. This can result in difficulty for successful deployment of the application within the operations environment, especially when that entity is forced to deal with solving configuration problems that arise from incompatibilities in the requirements of the developed application and the capabilities provided by the target operations environment.